<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!-- 1.函数的prototype属性
        * 每个函数都有一个prototype属性，它默认指向一个Object空对象（即称为：原型对象）
        * 原型对象中有一个属性constructor, 它指向函数对象
         2. 给原型对象添加属性（一般都是方法）
            * 作用： 函数的所有实例对象自动拥有原型中的属性（方法） -->
    <script>
        console.log(Date.prototype, typeof Date.prototype);

        function Fun() {

        }
        Fun.prototype.test = function() {
            console.log('test');
        }
        console.log(Fun.prototype); // 默认指向一个Object空对象，里面有test函数

        // 原型对象中有一个属性constructor(构造器)，它指向函数对象
        console.log(Date.prototype.constructor === Date);
        console.log(Fun.prototype.constructor === Fun);

        // 给原型对象添加属性(一般是方法)   ====> 实例对象可以访问
        Fun.prototype.test = function() {
            console.log('test');
        }

        var fun = new Fun();
        fun.test(); // 输出为test
    </script>
</body>

</html>